---
title: Getting Started
---

import { Steps, Callout } from 'nextra-theme-docs'

# YoMo

an open source Streaming Serverless Framework for building low-latency geo-distributed applications.

## Getting Started

<Steps>
### Install CLI

```bash
curl -fsSL "https://get.yomo.run" | sh
```

### Initialize a StreamFunction project

```bash
yomo init stateful-function
```

### Build to .wasm

```bash {3}
ᐅ cd stateful-function

ᐅ yomo build app.go

ᐅ exa -Tla .
drwxr-xr-x@    - cc 16 Apr 21:58 .
.rw-r--r--@   31 cc 16 Apr 20:39 ├── .env
.rw-r--r--@  378 cc 16 Apr 21:23 ├── app.go
.rwxr-xr-x@ 191k cc 16 Apr 21:58 ├── sfn.wasm
```

### Run StreamFunction with Public Zipper Test Service

```bash
ᐅ yomo run sfn.wasm

ℹ️ YoMo Stream Function file: app.go
⌛  Create YoMo Stream Function instance...
⌛  YoMo Stream Function building...
✅  Success! YoMo Stream Function build.
ℹ️   YoMo Stream Function is running...
ℹ️   Run: /Users/fanweixiao/tmp/accumulator-func/sfn.yomo
sfn received 58 bytes
sfn received 58 bytes
sfn received 59 bytes
sfn received 59 bytes
sfn received 59 bytes
sfn received 59 bytes
sfn received 59 bytes
sfn received 58 bytes
^C
```

<Callout emoji="ℹ️" type="info">
Press `Ctrl-C` to stop the StreamFunction.
</Callout>

</Steps>
